#pragma once
#include "FoGGEDef.h"
#include "GeneralVariable.h"

namespace _FOGGE_
{
	namespace _GDB_
	{
		class GVMImplement :
			public iGeneralVariableManager
		{
		public:
			GVMImplement(void);
			~GVMImplement(void);

			GVContainer* FindGVContainer(::_FO_UTIL::Name name);
			bool RegisterGeneralVariableContainer(GVContainer* gvc,::_FO_UTIL::Name name);
		private:
			
			std::map<::_FO_UTIL::Name,GVContainer*>	m_GVCMap;

			typedef std::map<::_FO_UTIL::Name,GVContainer*>::iterator GVCMapIter;
			typedef std::map<::_FO_UTIL::Name,GVContainer*>::value_type GVCMapValueType;
		};
	}
}